I. Computer Networks
In a computer network, a group of computers and/or other devices communicate with each other via one or more communication links. One example of a network includes a pair of end stations each having a network interface, where the interfaces are connected to each other via a point-to-point network link. Another example of a network is shown in FIG. 1 and includes multiple computers 105A-O each having one or more network interfaces. Each interface is connected to one or more other interfaces either directly or via one or more of switches 110A-D. For instance, as shown in FIG. 1, station 105A may be connected to station 105B via switch 110B, and station 105H may be connected to station 105I via a shared link to switch 110D. Yet another example of a network is the Internet, which is a network having many interconnected subnetworks.
Data to be transmitted, such as a file, is often divided into smaller units of data to be transmitted separately over one or more networks and re-assembled at a receiving computer. Each such unit of data is commonly called a “frame,” although it should be appreciated that data can be divided into frames in any suitable way, for example, according to any suitable communication protocol.
Any suitable communication link may be used to communicate data frames between network interfaces. For example, a link may be wired (e.g., electrical or optical) or wireless (e.g., radio, microwave, or infrared). A link may also be virtual (i.e., simulated).
Many network communication protocols have been developed over the years. A common model is the layered networking model, where communication functions are grouped into logical layers. For example, in an Open Systems Interconnection (OSI) model, there are seven layers arranged from top to bottom, each layer providing services to layers above and receiving services from layers below. For instance, Layer 2 (also known as the Data Link Layer) receives data transmission and reception services from Layer 1 (also known as the Physical Layer), and provides physical addressing services to Layer 3 (also known as the Network Layer).
Concepts of communications protocols layers, such as Layer 3 and Layer 2 of an OSI model, are explained in ITU-T (International Telecommunications Union—Telecommunications Standardization Sector) Recommendation X.200, “Information Technology—Open Systems Interconnection—Basic Reference Model: The Basic Model,” which is incorporated herein by reference.
II. Switch Devices
A switch device in a network receives and transmits frames of data through network interfaces. Examples of switch devices include, but are not limited to, the following:                Bridges: For example, a bridge device may be generally conformant to any of IEEE (Institute of Electrical and Electronics Engineers) 802.1 bridging standards, including, but not limited to, IEEE 802.1D-2004, “IEEE Standard for Local and Metropolitan Area Networks/Media Access Control (MAC) Bridges,” and IEEE 802.1Q-2011, “Standard for Local and Metropolitan Area Networks/Virtual Bridged Local Area Networks,” which are incorporated herein by reference. It should be appreciated that a device conformant to a future IEEE 802.1 bridging standard, or a bridging standard developed by some other standard setting organization, may also be considered a “bridge,” as aspects of the present disclosure are not limited to conformance to any particular bridging standard, nor to conformance to any standard at all. For example, a bridge device may be a device conformant to a specification for Shortest Path Bridges, which is being developed as an extension of IEEE 802.1, and uses a link state protocol to configure bridging mechanisms.        RBridges: For example, an RBridge device may be generally conformant to IETF (Internet Engineering Task Force) TRILL (TRansparent Interconnection of Lots of Links) standard as set out in IETF RFCs 6325, 6326, and 6327, which are incorporated herein by reference. Again, it should be appreciated that aspects of the present disclosure are not limited to conformance to any particular standard or version of a standard for an RBridge device, nor to conformance to any standard at all.        Routers: For example, a router device may forward or deliver data frames based on Layer 3 addresses specified in the frames. Because local networks use Layer 2 addresses to deliver a frame to a next router or final destination, a router may, on a per-router-hop basis, map Layer 3 addresses to Layer 2 addresses. In some instances, the router may change an outer Layer 2 address of the data frame to transport the frame to the next router or final destination.        Any other network devices adapted to route, forward, and/or deliver frames of data to one or more target interfaces (i.e., network interfaces to which the frames are addressed), or at least attempt to route, forward, and/or deliver the frames closer to the target interfaces.        Any combination of the above. This includes, for example, a BRouter, which is a device adapted to route frames whose Layer 3 addressing protocols are understood by the BRouter, and to bridge all other frames.        
III. Local Area Networks
In a local area network (also referred to as a LAN or local network), frames may be delivered after transiting the network with source and destination Layer 2 addresses, or interface source and destination addresses, associated with the frames unchanged or changed only to a form easily convertible to the original Layer 2 addresses. Examples of such local networks include, but are not limited to, bridged LANs and RBridged campuses.
It should be appreciated that local networks need not be “local” in a geographical sense. A local network may include components located in a geographical area of any suitable size (e.g., including multiple cities, states, and/or countries), and may even include components in outer space.
IV. Types of Data Frames
Data frames traversing a network may be classified as being either “multi-destination” or “individually addressed.” A “multi-destination” frame is a frame addressed to multiple destinations (e.g., multiple network interfaces). By contrast, an “individually addressed” frame is a data frame addressed to a single destination (e.g., a single network interface), and is sometimes called a “unicast” frame.
There are different types of multi-destination frames. For example, a “broadcast” frame is a multi-destination frame intended to be delivered to all interfaces in a local network. As another example, a “multicast” frame is a multi-destination frame intended to be delivered to a subset of such interfaces.
In some instances, a multi-destination frame may, despite being addressed to multiple interfaces, be delivered to only one interface or none at all. For example, this may happen when one or more interfaces to which the multi-destination frame is addressed do not exist in the local network.
V. Virtualization
A local network may include one or more virtual components. In such a network, data frames may be encapsulated so as to have at least one inner encapsulated address corresponding to a virtual component and at least outer encapsulation address corresponding to a physical component on which the virtual component is running. Multiple layers of encapsulation may also be possible. Furthermore, links between network interfaces may traverse physical or simulated switches in such a way that, while some outer encapsulation addresses may be changed (e.g., per router hop), some inner encapsulated addresses may remain unchanged or only changed in an easily reversible fashion.
Similarly, one or more switches, each having one or more interfaces connected to a local network, may be virtual. In one example, one or more switches may be virtual computers running inside a physical computer or across multiple physical computers or inside or across multiple higher-level virtual computers. In another example, an entire local network may be virtually emulated inside a single physical computer, or between or among modules of one or more computers, physically aggregated on the same computer chip or chip(s), or the same board, or backplane, or boards, or backplanes, or within the same rack or cabinet, or within a computer center, or otherwise grouped.
Virtual stations inside a physical computer may interface with a switch in various ways. In one example, there may be a virtual switch (e.g., implemented by software) also inside the physical computer on which the virtual stations are running. The virtual stations may be connected to the virtual switch, which, in turn, may connect to a physical switch using a physical connection from the physical computer to the physical switch. In another example, there may be a protocol by which a virtual station's traffic is multiplexed over a physical connection to a physical switch, so that the virtual station may appear to be connected to the physical switch via virtual interfaces inside the physical switch. Other techniques, or combinations of these and other techniques, may also be used.
VI. Virtual LANs
A local network may be subdivided into multiple overlaid logical networks called Virtual LANs or VLANs. A local network divided into VLANs may have the same physical structure as if not so divided. However, each data frame may, in some fashion, be labeled or categorized to indicate a VLAN to which the data frame belongs. Furthermore, a network interface may, in some fashion, be restricted or categorized in some suitable manner, so that switches may only send frames of certain labeling or categorization through interfaces with corresponding categorization. For example, certain network interfaces may be associated a particular type of traffic associated with a subset of VLANs, such as input traffic or output traffic, so that only that type of traffic associated with that subset of VLANs is sent through the interfaces.
In a local network supporting such VLANs, there may be end stations or switches that are unaware of VLANs and that receive and transmit unlabeled frames on one or more network interfaces of the end stations or switches. Such an unlabeled frame may be classified by an interface of the first VLAN-aware switch at which the frame arrives, to indicate a VLAN to which the frame belongs. The classification may be based on one or more values of one or more fields within the frame. Moreover, there may be VLAN-aware end stations that receive and transmit VLAN-labeled frames on one or more network interfaces, and/or classify unlabeled frames received on one or more interfaces as being in one or more specific VLANs.
A VLAN may include nested sub-VLANs and, likewise, may be enclosed by other higher-level VLANs. Thus, a “network” in the present disclosure may refer to any physical or virtual network, which may or may not include one or more subnetworks, and may or may not be included in one or more other networks as a subnetwork.